In recent years it has become common for digital data such as documents, audio, images and computer programs to be circulated via networks such as the Internet, and portable recording mediums such as CDs (compact disks). Such digital data does not deteriorate over time and anyone can easily copy it without loss of quality. Consequently, however, a disadvantage of such digital data is that copyrighted information is easily subject to illegal acts such as unauthorized copying and tampering.
Digital work protection systems that prevent such illegal acts are disclosed in Japanese laid-open patent application 2000-307567 and Japanese laid-open patent application 2001-211162.
In these digital work protection systems, a recording medium stores restriction information that shows copy restrictions and so on of the digital data, while a data processing device is able to restrict the number of generations of copies made of the digital data by either prohibiting copying or restricting the number of times the digital data is copied, according to the restriction information recorded on the recording medium. Furthermore, the recording medium and the data processing device perform authentication to authenticate each other's authenticity (hereinafter “mutual authentication processing”) before digital data is transmitted. Transmission of useful data is not permitted when legitimacy is not mutually authenticated. This prevents restriction information being invalidated by an illegitimate apparatus.
In the mutual authentication processing, both the recording medium and the data processing device have the same secret encryption processing method. Each device independently generates a random number, transmits the generated random number to the other device, has the other device encrypt the random number and transmit the encrypted number back. The device that generated the random number also encrypts the random number that it generated and compares the result with the received random number. If the two are identical, the device authenticates the other device as being a legitimate device.
Note that the random number used in this kind of mutual authentication processing is usually a pseudo-random number is generated using a seed such as the current time.
In this way, it is a prerequisite in mutual authentication processing for both devices to have the same secret encryption processing method. Since different data is transmitted each time, even if an illegitimate device intercepts the data being transmitted, the risk that the illegitimate device will be able to masquerade as a legitimate device is low.
Although developers wish to perform operation checks and debugging of data transfer when developing various types of software, such as application software for purposes such as creating documents, tables and data bases and managing e-mail, driver software for controlling the hardware connected to a computer, and firmware which is software included in devices for performing basic control of connected devices, such operation checking and debugging is made difficult by the fact that the above described mutual authentication processing involves transferring different data each time.
One possible solution is to distribute mutual authentication software that realizes mutual authentication encryption processing to developers to make operation checking, debugging and the like of data transfer relatively easy. However, since there-are numerous companies that develop various types of application software, it would be difficult to protect all secret information thoroughly. There is a danger that, for example, a malicious developer will analyze the distributed mutual authentication software and leak the encryption processing method. For this reason, the mutual authentication software cannot be distributed in the same form to all developers. However, making the mutual authentication software tamper-resistant is undesirable due to the effort and cost required.
To solve this problem, the object of the present invention is to provide a data processing system, a data processing method, a recording medium and a data processing device that are part of the data processing system, a data processing program for use in the data processing device, and a program recording medium on which the data processing program is recorded that enable data transfer operation checking, debugging and the like in mutual authentication processing, even if the encryption method is unknown to one of the parties.